Managing Compilation Overheads in a Runtime Specializer for OpenMP
نویسندگان
چکیده
While runtime compilation has in practice been largely restricted to programming languages that execute on virtual machines, such as Java and C#, parallel OpenMP programs show many promising traits for efficient and effective runtime optimization. The stOMP system for the runtime optimization of OpenMP applications is currently under development at the University of Toronto. One of the key issues in making stOMP successful is to minimize the overheads incurred when invoking compilers at runtime. This paper focuses on two techniques that have been developed to manage these overheads: a two-level, context-based hot-spot detector and a pruning mechanism that eliminates poorly behaved variables as specialization targets. A detailed presentation of both techniques is presented along with evaluations of the techniques on a subset of the SPEC OMP benchmark suite. Initial results from a prototype version of the stOMP specializer are also provided.
منابع مشابه
Exploiting fine-grain thread parallelism on multicore architectures
In this work we present a runtime threading system which provides an efficient substrate for fine-grain parallelism, suitable for deployment in multicore platforms. Its architecture encompasses a number of optimizations that make it particularly effective in managing a large number of threads and with low overheads. The runtime system has been integrated into an OpenMP implementation to allow f...
متن کاملA Portable and Efficient Thread Library for OpenMP
The design of a portable, yet efficient, thread library, called Balder Threads, is discussed in this paper. The library is used within Balder, a run-time library for OpenMP 2.0. The thread library is evaluated using the EPCC micro-benchmarks and measuring the overheads for the entire Balder OpenMP run-time library. The overheads, using Balder Threads, are found to be an order of an magnitude sm...
متن کاملA Runtime Optimization System for OpenMP
This paper introduces stOMP: a specializing thread-library for OpenMP. Using a combined compile-time and run-time system, stOMP specializes OpenMP parallel regions for frequently-seen values and the configuration of the runtime system. An overview of stOMP is presented as well as motivation for the runtime optimization of OpenMP applications. The overheads incurred by a prototype implementation...
متن کاملPortable Support and Exploitation of Nested Parallelism in OpenMP
In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...
متن کاملSkeleton driven transformations for an OpenMP compiler
In this paper we present a technique based on code templates, oriented to source to source code transformations for OpenMP parallelization. Our goal is to provide an OpenMP compilation infrastructure that includes a reconfigurable code generation phase, targetting different OpenMP runtime systems or explore different translation strategies for OpenMP constructs. We describe the main OpenMP tran...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005